﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CamadasDados.Auditoria
{
    public class csAuditoria
    {
        DB_WORCAMENTO dbWorcamento = new DB_WORCAMENTO();

        private void FecharConexao(object banco)
        {
            ((DB_WORCAMENTO)banco).Connection.Close();
        }

        private void InicializarConexao(object banco)
        {
            ((DB_WORCAMENTO)banco).Connection.Open();
        }

        /// <summary>
        /// Metodo para inclusão de logs de erro que pode acontecer no sistema
        /// </summary>
        /// <param name="strDescErro">Descrição do erro</param>
        /// <param name="strNomePagina">Nome da Página com erro</param>
        /// <param name="strNomeMetodo">Nome do metodo com erro</param>
        public void IncluirLogErro(string strDescErro, string strNomePagina, string strNomeMetodo)
        {
            try
            {
                InicializarConexao(dbWorcamento);

                var objErro = new TB_LOG_ERRO();

                objErro.DT_INCLUSAO = DateTime.Now;
                objErro.DS_LOG_ERRO = strDescErro;
                objErro.NO_PAG_ERRO = strNomePagina;
                objErro.NO_METODO = strNomeMetodo;
                dbWorcamento.AddToTB_LOG_ERRO(objErro);
                dbWorcamento.SaveChanges();
            }
            catch (Exception)
            {
                
            }
            finally
            {
                FecharConexao(dbWorcamento);
            }
        }
    }
}
